home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / gui / guienv376.lha / GUIEnvironment / OberonA / Source / 3rdParty / GEClass.mod next >
Encoding:
Text File  |  1994-12-16  |  4.4 KB  |  169 lines

  1. (****************************************************************************
  2.  
  3. $RCSfile: GEClass.mod $
  4.  
  5. $Revision: 1.3 $
  6.     $Date: 1994/12/16 16:39:53 $
  7.  
  8.     Oberon-2 interface module for the GUIEnvironment Class Library
  9.  
  10.     Oberon-A Oberon-2 Compiler V4.17 (Release 1.4 Update 2)
  11.  
  12.   Copyright © 1994, Carsten Ziegeler
  13.                     Augustin-Wibbelt-Str.7, 33106 Paderborn, Germany
  14.  
  15. ****************************************************************************)
  16. MODULE GEClass;
  17.  
  18. (* $P- Allow non-portable code *)
  19.  
  20.  
  21. IMPORT K := Kernel,
  22.        E := Exec,
  23.        U := Utility;
  24.  
  25. CONST
  26.  
  27.   Name* = "geclass.library";  (* Library name *)
  28.   Version* = 37;              (* min version / Revision 5 ! *)
  29.  
  30. (* ======================================================================= *)
  31. (*                       The Get File Image Class                          *)
  32. (* ======================================================================= *)
  33.  
  34. CONST getFileIClass *= "getfileiclass";
  35.  
  36. (* Default dimension: *)
  37.  
  38.   gfiWidth  *= 20;
  39.   gfiHeight *= 14;
  40.  
  41.  
  42. (* ======================================================================= *)
  43. (*                       The TextField Gadget Class                        *)
  44. (* ======================================================================= *)
  45.  
  46. (*
  47.  * TextFieldGadget V2.0
  48.  *
  49.  * Copyright © 1994 Mark Thomas
  50.  *
  51.  *)
  52.  
  53. CONST textfieldgClass *= "textfieldgclass";
  54.  
  55. (* ----------------------- Attributes ------------------------------------ *)
  56.  
  57. CONST
  58.   dummy            = U.tagUser + 04000000H;
  59.  
  60.   text            *= dummy + 1;    (* V1 *)
  61.   insertText      *= dummy + 2;
  62.   textFont        *= dummy + 3;
  63.   delimiters      *= dummy + 4;
  64.   top             *= dummy + 5;
  65.   blockCursor     *= dummy + 6;
  66.   size            *= dummy + 7;
  67.   visible         *= dummy + 8;
  68.   lines           *= dummy + 9;
  69.   noGhost         *= dummy + 10;
  70.   maxSize         *= dummy + 11;
  71.   border          *= dummy + 12;
  72.   textAttr        *= dummy + 13;
  73.   fontStyle       *= dummy + 14;
  74.   up              *= dummy + 15;
  75.   down            *= dummy + 16;
  76.   alignment       *= dummy + 17;
  77.   vCenter         *= dummy + 18;
  78.   ruledPaper      *= dummy + 19;
  79.   paperPen        *= dummy + 20;
  80.   inkPen          *= dummy + 21;
  81.   linePen         *= dummy + 22;
  82.   userAlign       *= dummy + 23;
  83.   spacing         *= dummy + 24;
  84.   clipStream      *= dummy + 25;
  85.   clipStream2     *= dummy + 26;
  86.   undoStream      *= dummy + 26;
  87.   blinkRate       *= dummy + 27;
  88.   inverted        *= dummy + 28;
  89.   partial         *= dummy + 29;
  90.   cursorPos       *= dummy + 30;
  91.  
  92.   readOnly        *= dummy + 31;     (* V2 *)
  93.   modified        *= dummy + 32;
  94.   acceptChars     *= dummy + 33;
  95.   rejectChars     *= dummy + 34;
  96.   passCommand     *= dummy + 35;
  97.   lineLength      *= dummy + 36;
  98.   maxSizeBeep     *= dummy + 37;
  99.   deleteText      *= dummy + 38;
  100.   selectSize      *= dummy + 39;
  101.   copy            *= dummy + 40;
  102.   copyAll         *= dummy + 41;
  103.   cut             *= dummy + 42;
  104.   paste           *= dummy + 43;
  105.   erase           *= dummy + 44;
  106.   undo            *= dummy + 45;
  107.  
  108. (* ----------------------- Border ----------------------------------------- *)
  109.  
  110.   borderNone          *= 0;
  111.   borderBevel         *= 1;
  112.   borderDoubleBevel   *= 2;
  113.  
  114. (* ----------------------- Alignment -------------------------------------- *)
  115.  
  116.   alignLeft           *= 0;
  117.   alignCenter         *= 1;
  118.   alignRight          *= 2;
  119.  
  120.  
  121.  
  122. (* --- Library Base variable -------------------------------------------- *)
  123.  
  124. TYPE GEClassBase * = E.Library;
  125.      GEClassBasePtr * = CPOINTER TO GEClassBase;
  126.  
  127. VAR
  128.  
  129.   base *  : GEClassBasePtr;
  130.  
  131.  
  132. (* --- Library Functions ------------------------------------------------ *)
  133.  
  134.   LIBCALL (base : GEClassBasePtr) GetObjectA *
  135.           (class[8]   : E.APTR;
  136.            classID[9] : ARRAY OF CHAR;
  137.            tagList[10]: ARRAY OF U.TagItem) : E.APTR;       -30;
  138.  
  139.   LIBCALL (base : GEClassBasePtr) GetObject *
  140.           (class[8]   : E.APTR;
  141.            classID[9] : ARRAY OF CHAR;
  142.            tagList[10].. : U.Tag) : E.APTR;       -30;
  143.  
  144.   LIBCALL (base : GEClassBasePtr) FreeObject *
  145.           (object[8] : E.APTR);                 -36;
  146.  
  147.  
  148. (* $L- Address globals through A4 *)
  149.  
  150. PROCEDURE* CloseLib (VAR rc : LONGINT);
  151. BEGIN
  152.   IF base # NIL THEN E.base.CloseLibrary (base) END;
  153. END CloseLib;
  154.  
  155. PROCEDURE OpenLib * (mustOpen : BOOLEAN);
  156. BEGIN
  157.   IF base = NIL THEN
  158.     base := E.base.OpenLibrary (Name, Version);
  159.     IF base # NIL THEN K.SetCleanup(CloseLib)
  160.     ELSIF mustOpen THEN HALT (100)
  161.     END
  162.   END
  163. END OpenLib;
  164.  
  165.  
  166. BEGIN (* GEClass *)
  167.   base := NIL;
  168. END GEClass.
  169.